=========================================================================
ISTRUZIONI per il PRIMO ASSEGNAMENTO INFORMATICA anno 2015/16
========================================================================
L'assegnamento prevede la realizzazione di una main() C che implementa
un moto Browniano bidimensionale su un'area quadrata di lato N.

Per il primo esercizio si richiede che il main stampi sullo standard output solo gli spostamenti da effetuare e calcoli la percentuale degli spostamenti effettuati a destra sinistra in alto ed in basso.
Per il secondo esercizio il main deve anche visualizzare ogni spostamento con il formato in walk.pdf).
Si richiede:
(1) di realizzare il codice e 
(2) di scrivere un file di testo o PDF che contiene la discussione delle 
domande poste.
(3) di consegnare codice e risposte secondo le istruzioni 
riportate sotto entro la data di scadenza.

------------------------------------------------
Estrarre il materiale dal KIT dell'assignment
------------------------------------------------
Creare una directory temporanea, copiare kit_a1.tar  
nella directory e spostarsi nella directory appena creata. Es.

$$ mkdir Assegnamento1
$$ mv kit_a1.tar Assegnamento1
$$ cd Assegnamento1

S-tarare i file del kit con

$$ tar xvf kit_a1.tar

questo comando crea nella directory corrente una directory "WALK"
con i seguenti file

$$ ls WALK
walk.pdf		: file contenente gli esercizi da svolgere

walk.h			: header di esempio (contiene le define per N e K)
walk.c 			: file da completare con il codice del main
			(contiene intestazioni)


README			: questo file

DATA/*			: file per il test automatico (NON MODIFICARE)


gruppo-check.pl		: uno script Perl che controlla il formato del file
			  gruppo.txt prima di effettuare la consegna
			  (NON MODIFICARE)

gruppo.txt		: un file di esempio di specifica del gruppo
			  (massimo 2 studenti per gruppo)
			  (deve essere aggiornato con i dati di chi consegna,
			  secondo il formato esemplificato)

========================================================================
ISTRUZIONI per la realizzazione dell'assegnamento
========================================================================

L'assegnamento prevede la realizzazione di una funzione main() che
calcola gli spostamenti e li stampa a video secondo le specifiche in walk.pdf. 

Nel makefile sono automatizzati due test realizzati dai docenti.

Sviluppare il main() in walk.c utilizzando il file walk.h di esempio e
testarlo passo passo.  Solo quando ragionevolmente convinti della
correttezza del codice si puo' passare al testing automatico del
codice con i test forniti dai docenti.

Solo gli elaborati che passano i test possono essere consegnati.

------------------
Come procedere :
-----------------

1) leggere attentamente walk.pdf

2) implementare e testare il main() richiesto modificando il file walk.c

3) testare il software con i test forniti dai
  docenti. 

       $ make test1
       $ make test2
       

  NOTA: (1) il file walk.c si deve trovare nella directory WALK/
 
  (2) E' importante che il test fornito dai docenti venga effettuato solo su
  un programma gia' funzionante e testato altrimenti i risultati
  possono essere di difficile interpretazione, fuorvianti o inutili.

4) preparare la documentazione: ovvero commentare adeguatamente i file walk.c
   ed inserire un’ intestazione contenente i nomi
   degli sviluppatori ed  una dichiarazione di originalita' 

   /** \file pippo.c
       \author Nino Bixio & Giuseppe Garibaldi
     Si dichiara che il contenuto di questo file e' in ogni sua parte opera
     originale degli  autori.  */

     Non e' richiesto di preparare anche la documentazione formato
     doxygen. Chi volesse farlo e' invitato a leggere il  README.doxigen.

6) aggiornare il file "gruppo.txt" con i nomi e dati degli sviluppatori

7) consegnare il file eseguendo

      bash:~$ make consegna

   e seguendo le istruzioni.

   Il target consegna crea un file tar che deve essere inviato
   all'indirizzo del docente insieme a un file PDF o TXT con la discussione 
   degli esercizi con subject

   "info16: consegna primo assegnamento"

   Se il make non funziona nell'ambiente in cui state sviluppando, create
   un tar file con all'interno il file walk.c e gruppo.txt ed inviatelo al
   docente come sopra.
   Tutte le consegne verranno confermate con un messaggio entro 2/3
   giorni all'indirizzo da cui e' stata effettuata la consegna. In
   caso questo non si verifichi contattare il docente.
   

---------------------------------------
 NOTE IMPORTANTI: LEGGERE ATTENTAMENTE
---------------------------------------

1) tutti gli elaborati verranno confrontati fra di loro con tool automatici
   per stabilire eventuali situazioni di PLAGIO. Se gli elaborato sono 
   ragionevolmente simili verranno scartati.

2) Chi in sede di orale risulta palesemente non essere l'autore del software
   consegnato in uno degli assegnamenti dovra' ripetere l'esame

3) Tutti i comportamenti scorretti ai punti 1 e 2 verranno segnalati
   ufficialmente al presidente del corso di laurea

----------------------------
 VALUTAZIONE DELL'ASSEGNAMENTO:
----------------------------

Gli studenti che consegnano una versione funzionante e ragionevolmente
corretta dell'assegnamento entro la data di scadenza accumulano un bonus di 2
punti che verra' sommato al voto finale (vedi lucidi lezioni ed
esercitazioni).

La qualita' del codice consegnato e delle discussioni fornite per i 3
assegnamenti sara' valutata complessivamente da 0 a 30 e fara' media
con il voto di esame.
